using System.Collections.Generic;
using Managistics.Model;

namespace Managistics.Core.Repositories
{
    public interface IGoodRepository : IRepository<Good, string>
    {
        /// <summary>
        /// Get all goods for given item type id.
        /// </summary>
        /// <param name="catalogId">Id of the item type</param>
        List<Good> GetGoodsOfItemType(string itemTypeId);

        /// <summary>
        /// Get Good by good code
        /// </summary>
        /// <param name="goodId">The good code</param>
        /// <returns>object good</returns>
        Good GetGoodById(string goodId);

        void UpdateGood(Good good);

    }
}